package com.zhuojy.equity.mall.admin.dal.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhuojy.equity.mall.admin.common.entity.TAuditCenter;
import com.zhuojy.equity.mall.admin.common.entity.vo.AuditCenterExportEntity;
import com.zhuojy.equity.mall.admin.common.entity.vo.BalanceExportEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @Author:LYL
 * @Date 2024/3/19 9:24
 */
@Mapper
public interface AuditCenterMapper extends BaseMapper<TAuditCenter> {
    /**
     * @description:审批列表查询 分页 条查  查询的状态为   待处理
     * @author: lyl
     * @date: 2024/3/19 21:05
     * @param: tAuditCenter
     * @param: pages
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.zhuojy.equity.mall.admin.common.entity.TAuditCenter>
     **/
    IPage<TAuditCenter> findTAuditCenterFenYe(@Param("tAuditCenter") TAuditCenter tAuditCenter, Page pages);

    /**
     * @description: 已处理
     * @author: lyl
     * @date: 2024/3/20 15:04
     * @param: tAuditCenter
     * @param: pages
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.zhuojy.equity.mall.admin.common.entity.TAuditCenter>
     **/
    IPage<TAuditCenter> findTAuditCenterFenYe2(@Param("tAuditCenter") TAuditCenter tAuditCenter, Page pages);

    /**
     * @description: 我收到的
     * @author: lyl
     * @date: 2024/3/20 19:12
     * @param: tAuditCenter
     * @param: pages
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.zhuojy.equity.mall.admin.common.entity.TAuditCenter>
     **/
    IPage<TAuditCenter> findTAuditCenterFenYe3(@Param("tAuditCenter") TAuditCenter tAuditCenter, Page pages);

    /**
     * @description:
     * @author: lyl
     * @date: 2024/3/20 16:48
     * @param: tAuditCenter
     * @param: pages
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.zhuojy.equity.mall.admin.common.entity.TAuditCenter>
     **/
    IPage<TAuditCenter> findTAuditCenterFenYe4(@Param("tAuditCenter") TAuditCenter tAuditCenter, Page pages);

    /**
     * @description: 回显
     * @author: lyl
     * @date: 2024/3/19 21:04
     * @param: id
     * @return: com.zhuojy.equity.mall.admin.common.entity.TAuditCenter
     **/
    TAuditCenter findTAuditCenterById(Long id);

    /**
     * @description:根据id 修改状态
     * @author: lyl
     * @date: 2024/3/19 21:04
     * @param: tAuditCenter
     **/
    void updateStatusById(@Param("tAuditCenter") TAuditCenter tAuditCenter);
    void updateApprovalStatusById(@Param("tAuditCenter") TAuditCenter tAuditCenter);

    /**
     * 请假记录表条查分页
     *
     * @param auditCenterExportEntity
     * @param page
     * @return
     */
    IPage<TAuditCenter> findTAuditPagination(@Param("auditCenter") AuditCenterExportEntity auditCenterExportEntity, Page page);

    /**
     * 请假记录表多表导出
     *
     * @return
     */
    List<AuditCenterExportEntity> getAuditCenterExpoet();

    //请假记录表条查动态下拉列表
    List<TAuditCenter> findOptions();

    //员工假期余额表条查分页
    IPage<TAuditCenter> findbalancePagination(@Param("tAuditCenter") TAuditCenter tAuditCenter, Page<TAuditCenter> page);

    //员工余额表多表导出
    List<BalanceExportEntity> getBalanceExportEntity();

    //审批表导出
    List<TAuditCenter> getAuditCenterEntity();
}
